/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package nominalitzacions.drivers;

import commonlib.domain.Corpus;
import java.util.Scanner;
import nominalitzacions.domain.ActiveLanguage;
import nominalitzacions.domain.Language;
import nominalitzacions.stubs.Dictionary;
import nominalitzacions.stubs.Rules;

/**
 *
 * @author marc.mauri
 */
public class LanguageDriver {

    public static void main(String[] args) {

        System.out.println("0. Surt de la prova");
        System.out.println("1. Prova d'assignar Diccionaris i Corpus a una llengua inactiva");
        System.out.println("2. Prova d'assignar Diccionaris i Corpus a la llengua activa");
        System.out.println("3. Prova d'assignar i escriu rutes de "
                            + "Diccionaris i Corpus");

        Scanner sc = new Scanner(System.in);

        int opcio = sc.nextInt();
        while (opcio != 0) {
            switch (opcio) {
                case 1:
                    assignaDicoCorpusIReglesALlenguaInactiva();
                    break;
                case 2:
                    assignaDicoCorpusIReglesALlenguaActiva();
                    break;
                case 3:
                    assignaIEscriuRutes();
                    break;
            }
            opcio = sc.nextInt();
        }
        
    }

    private static void assignaDicoCorpusIReglesALlenguaInactiva() {
        Language lang = new Language();

        Dictionary dico = new Dictionary();
        Corpus corpus = new Corpus();
        Rules rules = new Rules();
        try {
            lang.setInfDico(dico);
            lang.setIrregDico(dico);
            lang.setNameDico(dico);
            lang.setCorpus(corpus);
            lang.setRules(rules);
        }
        catch (UnsupportedOperationException uoe) {
            System.out.println(uoe.getMessage() );
        }

    }

    private static void assignaDicoCorpusIReglesALlenguaActiva() {
        Language lang = new Language();
        lang.setState(ActiveLanguage.getInstance() );

        Dictionary dico = new Dictionary();
        Corpus corpus = new Corpus();
        Rules rules = new Rules();
        try {
            lang.setInfDico(dico);
            lang.setIrregDico(dico);
            lang.setNameDico(dico);
            lang.setCorpus(corpus);
            lang.setRules(rules);
        }
        catch (UnsupportedOperationException uoe) {
            System.out.println(uoe.getMessage() );
        }
    }

    private static void assignaIEscriuRutes() {
        Language lang = new Language();
        Scanner sc = new Scanner(System.in);
        System.out.println("Escriu la ruta del diccionari d'infinitius:");
        lang.setDicoInfPath(sc.nextLine() );
        System.out.println("Escriu la ruta del diccionari d'irregulars:");
        lang.setDicoIrregPath(sc.nextLine() );
        System.out.println("Escriu la ruta del diccionari de noms:");
        lang.setDicoNamePath(sc.nextLine() );
        System.out.println("Escriu la ruta del corpus de parells:");
        lang.setCorpusPath(sc.nextLine() );

        System.out.println(lang.getDicoInfPath() );
        System.out.println(lang.getDicoIrregPath() );
        System.out.println(lang.getDicoNamePath() );
        System.out.println(lang.getCorpusPath() );
    }

}


